package cn.miju.unionpay.constant;

/**
 * <pre>
 * 云闪付常量类
 * </pre>
 *
 * @author zhuming
 * @version 1.0.0
 * @since 2023-03-12 15:38
 */
public interface UnionPayConstant {
    // 默认回调地址，如果外部传入回调地址为空则使用该地址
    String DEFAULT_BACK_URL = "http://www.specialUrl.com";
    // 银联全渠道系统版本号
    String VERSION = "5.1.0";
    // 请求编码格式
    String ENCODING = "UTF-8";
    //签名方法
    //非对称签名： 01（表示采用RSA签名） HASH表示散列算法 11：支持散列方式验证SHA-256 12：支持散列方式验证SM3
    String SIGN_METHOD = "01";
    //交易币种 156：人民币
    String CURRENCY_CODE = "156";
    //接入类型，商户接入填0 ，不需修改（0：直连商户， 1： 收单机构 2：平台商户）
    String ACCESS_TYPE = "0";

    /**
     * 交易类型
     */
    interface TxnType {
        //00 查询交易
        String QUERY = "00";
        //01：消费
        String CONSUME = "01";
        //02：预授权
        String PREAUTH = "02";
        //03：预授权完成
        String PREAUTH_FINISH = "03";
        //04：退货
        String REFUND = "04";
        //05: 圈存
        String STORAGE = "05";
        //11：代收
        String REPLACE_IN = "11";
        //12：代付
        String REPLACE_OUT = "12";
        //13：账单支付
        String BILL_PAY = "13";
        //14： 转账（保留）
        String TRANSFER = "14";
        //21：批量交易
        String BATCH_TRADE = "21";
        //22：批量查询
        String BATCH_QUERY = "22";
        //31：消费撤销
        String CONSUME_REVOKE = "31";
        //32：预授权撤销
        String PREAUTH_REVOKE = "32";
        //33：预授权完成撤销
        String PREAUTH_FINISH_REVOKE = "33";
        //71：余额查询
        String QUERY_BALANCE = "71";
        //72：实名认证-建立绑定关系
        String BIND_IDENTITY_AUTH = "72";
        //73： 账单查询
        String BILL_QUERY = "73";
        //74：解除绑定关系
        String UNBIND = "74";
        //99：冲正
        String REVERSAL = "99";
    }

    /**
     * 交易子类
     */
    interface TxnSubType {
        //默认值
        String DEFAULT = "00";
        //冲正（未知，暂时只有冲正用到）
        String REVERSAL = "01";
        // 申请消费二维码
        String APPLY_CONSUME_QRCODE = "07";

    }

    /**
     * 产品类型
     */
    interface BizType {
        //默认值
        String DEFAULT = "000000";
        //B2C 网关支付
        String B2C = "000201";
        //认证支付 2.0
        String AUTH_PAY = "000301";
        //评级支付
        String RATING_PAY = "000302";
        //代付
        String REPLACE_OUT = "000401";
        //代收
        String REPLACE_IN = "000501";
        //账单支付
        String BILL_PAY = "000601";
        //跨行收单
        String STRADDLE_BANK = "000801";
        //绑定支付
        String BIND_PAY = "000901";
        //订购
        String BUY = "001001";
        //B2B
        String B2B = "000202";
    }

    /**
     * 渠道类型
     */
    interface ChannelType {
        //语音
        String VOICE = "05";
        //互联网
        String IT = "07";
        // 移动手机
        String MOBILE = "08";
    }






}
